package com.warom.sdg.model;

import java.io.Serializable;

/**
 * 用户实体类
 * 用于表示系统用户信息，存储在SQLite数据库中
 */
public class UserEntity implements Serializable {
    private static final long serialVersionUID = 1L;
    
    // 角色常量
    public static final String ROLE_ADMIN = "ADMIN";
    public static final String ROLE_OPERATOR = "OPERATOR";
    public static final String ROLE_VIEWER = "VIEWER";
    
    private long id;
    private String username;
    private String name;
    private String password;
    private String role;
    private long lastLoginTime; // 最后登录时间

    /**
     * 默认构造函数
     */
    public UserEntity() {
    }

    /**
     * 全参数构造函数
     * @param id 用户ID
     * @param username 用户名
     * @param password 密码
     * @param name 姓名
     * @param role 角色
     * @param lastLoginTime 最后登录时间
     */
    public UserEntity(long id, String username, String password, String name, String role, long lastLoginTime) {
        this.id = id;
        this.username = username;
        this.password = password;
        this.name = name;
        this.role = role;
        this.lastLoginTime = lastLoginTime;
    }

    /**
     * 获取用户ID
     * @return 用户ID
     */
    public long getId() {
        return id;
    }

    /**
     * 设置用户ID
     * @param id 用户ID
     */
    public void setId(long id) {
        this.id = id;
    }

    /**
     * 获取用户名
     * @return 用户名
     */
    public String getUsername() {
        return username;
    }

    /**
     * 设置用户名
     * @param username 用户名
     */
    public void setUsername(String username) {
        this.username = username;
    }

    /**
     * 获取姓名
     * @return 姓名
     */
    public String getName() {
        return name;
    }

    /**
     * 设置姓名
     * @param name 姓名
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取密码
     * @return 密码
     */
    public String getPassword() {
        return password;
    }

    /**
     * 设置密码
     * @param password 密码
     */
    public void setPassword(String password) {
        this.password = password;
    }

    /**
     * 获取角色
     * @return 角色
     */
    public String getRole() {
        return role;
    }

    /**
     * 设置角色
     * @param role 角色
     */
    public void setRole(String role) {
        this.role = role;
    }

    /**
     * 获取最后登录时间
     * @return 最后登录时间
     */
    public long getLastLoginTime() {
        return lastLoginTime;
    }

    /**
     * 设置最后登录时间
     * @param lastLoginTime 最后登录时间
     */
    public void setLastLoginTime(long lastLoginTime) {
        this.lastLoginTime = lastLoginTime;
    }

    @Override
    public String toString() {
        return "UserEntity{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", name='" + name + '\'' +
                ", role='" + role + '\'' +
                ", lastLoginTime=" + lastLoginTime +
                '}';
    }
} 